// pages/ai/ai.js
const grant_type = 'client_credentials'
const client_id = 'aQHWTZ9PzWyLz5hTSMjdhl32'
const client_secret = '48B2Qh5LgVOMh6OoQspuNbN1pEM2D0vH'
var token = null
var base64 = null
var apiUrl = null
var toView = null
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imageUrl: "https://i0.hdslb.com/bfs/album/c058819d68d3095f83b56faaae22f763f9813405.png",
    isScroll:false,
    curIndex:0, // 决定左侧分类
    category:[
      {"title":"动物识别",
        "id":"animal",
        "bg_img":"http://rcqjced6l.hn-bkt.clouddn.com/dwsb-bg.jpg",
        "content":"识别近八千种动物，接口返回动物名称，并可获取识别结果对应的百科信息；还可使用EasyDL定制训练平台，定制识别分类标签。适用于拍照识图、幼教科普、图像内容分析等场景"
        
      },
      {
        "title":"植物识别",
        "id":"plant",
        "bg_img":"http://rcqjced6l.hn-bkt.clouddn.com/zwsb-bg.jpg",
        "content":"可识别超过2万种常见植物和近8千种花卉，接口返回植物的名称，并支持获取识别结果对应的百科信息；还可使用EasyDL定制训练平台，定制识别植物种类。适用于拍照识图、幼教科普、图像内容分析等场景"
      },
      {"title":"红酒识别",
        "id":'redwine',
        "bg_img":"http://rcqjced6l.hn-bkt.clouddn.com/hjsb-bg.jpg",
        "content":"识别图像中的红酒标签，返回红酒名称、国家、产区、酒庄、类型、糖分、葡萄品种、酒品描述等信息，可识别数十万中外红酒；支持自定义红酒图库，在自建库中搜索特定红酒信息"
        
      },
      {
        "title":"地标识别",
        "id":"landmark",
        "bg_img":"http://rcqjced6l.hn-bkt.clouddn.com/dbsb-bg.jpg",
        "content":"支持识别12万中外著名地标、热门景点；还可使用EasyDL定制训练平台，定制地标分类标签。广泛应用于拍照识图、幼教科普、图片分类等场景"
      },
      {
        "title":"货币识别",
        "id":"currency",
        "bg_img":"http://rcqjced6l.hn-bkt.clouddn.com/hbsb-bg.jpg",
        "content":"识别图像中的货币类型，返回货币名称、代码、面值、年份信息，可识别百余种国内外常见货币；还可使用EasyDL定制训练平台，定制识别货币种类"
      }
    ],
    toView: 'animal' //决定右侧的视图显示，与curIndex一一对应
    
  },


  switchTab(e) {
    const self = this;
    this.setData({
      isScroll: true
    })
    setTimeout(function () {
      self.setData({
        toView: e.target.dataset.id,
        curIndex: e.target.dataset.index
      })
      console.log("e.target.dataset.id",e.target.dataset.id)
      console.log("e.target.dataset.index",e.target.dataset.index)
    }, 0)
    setTimeout(function () {
      self.setData({
        isScroll: false
      })
    }, 1)
  },
  onReady: function(res) {
    // get access_token from BaiDu API
    wx.request({
      url: 'https://aip.baidubce.com/oauth/2.0/token?grant_type=' + grant_type + '&client_id=' + client_id + '&client_secret=' + client_secret,
      method: 'POST',
      success: function (res) {
        console.log('Request successful !')
        // console.log(res.data)
        token = res.data.access_token;
        console.log('My token is : ' + token);
        
      },
      fail: function (res) {
        console.log('Fail to request !')
        console.log(res)
      }
    })
  },
  get_Animal_image: function(res) {
    var that = this

    wx.chooseImage({
      count: 1,
      sizeType: ['original', 'compressed'],
      sourceType: ['album', 'camera'],
      success(res) {
        var tempFilePaths = res.tempFilePaths
        apiUrl = 'https://aip.baidubce.com/rest/2.0/image-classify/v1/animal',
        that.setData({
          imageUrl: tempFilePaths,
          load_logo: "success",
          load_message: "",
          load_title: "上传图片成功",
          btn_enable: false
        })
        console.log('My API URL is : ' + apiUrl)
        console.log('Image Path is : ' + tempFilePaths)
        // console.log(res)
        wx.getFileSystemManager().readFile ({
          filePath: res.tempFilePaths[0],
          encoding: 'base64',
          // complete: res=> {
          //   console.log('complete')
          //   console.log(res)
          // },
          success: res => {
            base64 = res.data
            // console.log('data:image/png;base64,' + base64)
          }
        })
      }
    })
  },
  
  recognition_image: function(res) {
    var that = this
    that.setData({
      load_title: "正在识别",
      load_message: "正在识别图片,请稍后"
    })
    wx.request({
      url: apiUrl + '?access_token=' + token,
      method: 'POST',
      header: {
        'content-type': 'application/x-www-form-urlencoded'
      },
      data: {
        image: base64
      },
      success: res => {
        var result = null
        var score = 0
        console.log('recognition_image Success')
        if(res.data.result == null) {
          console.log(res.data.error_msg)
          console.log(base64)
          result = res.data.error_msg
        }else {
          console.log(res.data.result)
          result = res.data.result[0].name
          score = res.data.result[0].score
        }
        that.setData({
          load_title: '识别结果 : ' + result,
        })
      }
    })
  },
  
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})